package com.snail.jj.androiddemos.tools;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * Created by snail on 2017/7/27.
 */

/**
 *
 * SQLiteOpenHelper是一个辅助类，用来管理数据库的创建和本地化，它提供两个方面的功能
 *
 * 第一、getReadableDatabase()、getWriteableDatabase()可以获得SQLiteDatabase对象，
 * 通过该对象库对数据库进行操作
 * 第二、提供onCreate()、onUpgrade()两个回调函数，允许我们再创建和升级数据库时，
 * 进行自己的操作
 *
 */

public class DataHelper extends SQLiteOpenHelper {

    private static final int VERSION = 1;

    public DataHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,int version) {
        super(context, name, factory, version);
    }

    public DataHelper(Context context,String name,int version) {
        this(context,name,null,version);
    }

    public DataHelper(Context context,String name) {
        this(context,name,VERSION);
    }

    /**
     * 第一次创建的时候执行，实际上是第一次得到SQLiteDatabase对象的时候才会调用这个方法
     * @param db
     */
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table user(id int,name,varchar(20))");
    }


    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        System.out.println("upgrade a database");
    }
}
